package com.jsyxdl.service.impl;

import com.jsyxdl.entity.CisAdDTO;
import com.jsyxdl.mapper.CisAdDTOMapper;
import com.jsyxdl.service.CisAdDTOService;
import com.ty.basic.exception.message.SystemErrorCodeEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class CisAdDTOServiceImpl implements CisAdDTOService {

    @Autowired
    CisAdDTOMapper cisAdDTOMapper;

    @Override
    public List<CisAdDTO> queryCisAd(CisAdDTO cisAdDTO) {
        return cisAdDTOMapper.queryCisAd(cisAdDTO);
    }

    @Override
    public int updateCisAd(CisAdDTO cisAdDTO) {
        return cisAdDTOMapper.updateCisAd(cisAdDTO);
    }

    @Override
    public int insertCisAd(CisAdDTO cisAdDTO) {
        return cisAdDTOMapper.insertCisAd(cisAdDTO);
    }

    @Override
    public int deleteCisAd(CisAdDTO cisAdDTO) {
        return cisAdDTOMapper.deleteCisAd(cisAdDTO);
    }

    @Override
    public int saveOrUpdate(CisAdDTO cisAdDTO) {
        if (cisAdDTO == null || cisAdDTO.getLibraryRef() == null) {
            throw SystemErrorCodeEnum.WORK_FLOW_CONTENT_ERROR.getException("CisAdDTO 或其 codeNumber 不能为空");
        }

        // 检查记录是否存在
        int count = cisAdDTOMapper.existsByCodeNumber(cisAdDTO.getLibraryRef());

        if (count > 0) {
            // 存在则更新
            return cisAdDTOMapper.updateCisAd(cisAdDTO);
        } else {
            // 不存在则插入
            return cisAdDTOMapper.insertCisAd(cisAdDTO);
        }
    }

    @Override
    public int existsByCodeNumber(String libraryRef) {
        return cisAdDTOMapper.existsByCodeNumber(libraryRef);
    }

    @Override
    public List<CisAdDTO> queryCisAdList(String libraryRefs) {
        return cisAdDTOMapper.queryCisAdList(libraryRefs);
    }

}
